#ifndef GAME_HPP_INCLUDED
#define GAME_HPP_INCLUDED

#include "Display.hpp"
#include "FPS.hpp"
#include "boost/shared_ptr.hpp"
#include "Render/MapRenderer.hpp"

class Game
{
public:
	Game(const boost::shared_ptr< Display > & displayPtr);
	~Game();

	void StartGame();
	void UpdateGame();
	void StopGame();

private:
	void MessagePump( HWND window, bool active );
     void Update(float frameTime, float elapsedTime);
     void Render();

     FPS * mFPS;
     HFONT mFont;
     HFONT mOldFont;

     boost::shared_ptr< Display > mDisplayPtr;
     boost::shared_ptr< MapRenderer > mMapRendererPtr;
};

#endif // GAME_HPP_INCLUDED